iT邦幫忙

DAY 5
1

Android 探索之備忘錄系列 第 5

Android 探索之備忘錄 [Day5-webview]

  • 分享至 

  • xImage
  •  

許多app 開發者(or 廠商), 為了節省跨平台開發的成本,

會使用webview or phonegap來開發Android, PC, iOS的app,

這篇來簡單介紹一下基本的webview

首先在layout xml裡面定一個webview用來呈現web page

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true" />

然後在AndroidManifest定義permission

<uses-permission android:name="android.permission.INTERNET" />

之後只要在onCreate()把指定的URL給webview就可以囉!

以下的範例是連結到露天拍賣, 並且透過javascript自動把關鍵字填上後搜尋

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_autofill_main);
		WebView webview = (WebView) findViewById(R.id.webView);

		 webview.getSettings().setBuiltInZoomControls(true);
		 webview.getSettings().setJavaScriptEnabled(true);

		 final Activity activity = this;
		 webview.setWebChromeClient(new WebChromeClient() {
		   public void onProgressChanged(WebView view, int progress) {
		   }
		 });
		 webview.setWebViewClient(new WebViewClient() {
		   public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
		     Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
		   }

		@Override
		public void onPageFinished(WebView view, String url) {
			super.onPageFinished(view, url);
	view.evaluateJavascript("document.getElementById('keyword').value = 'nexus 5';document.srch.submit();", null);
			view.getSettings().setJavaScriptEnabled(false);
		}
		 });

		 webview.loadUrl("http://www.ruten.com.tw");
	}

其實由上面的例子也可以依樣畫葫蘆使用javascript寫出自動填表或是自動登入的功能,

就看要怎麼發揮囉!

P.S. 不過比起用webview開發app, 個人覺得使用native app才可以充分使用Android平台(or iOS)的功能,

不被webkit的功能(or Bug)給綁住


上一篇
Android 探索之備忘錄 [Day4-database]
下一篇
Android 探索之備忘錄 [Day6-ADB]
系列文
Android 探索之備忘錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言